package org.greenwire.islandharvester.domain;

import org.greenwire.islandharvester.result.Result;


public interface Harvestable {
	
	/**
	 * 是否可供收获
	 * @return
	 */
	boolean isHarvestable();
	
	/**
	 * 可收获物类型
	 * @return String型的名称
	 */
	String getType();
	
	/**
	 * 是否可供立即收获
	 * @return
	 */
	boolean available4HarvestImmediately();
	
	/**
	 * 是否过一段时间可收获
	 * @return
	 */
	boolean available4HarvestLater();
	
	String getId();
	
	String getHarvestUrl(String ownerUid);
	
	Result parseResult(String resultStr);
	
	/**
	 * 距离下一次可收获还有多久
	 * @return 单位秒
	 */
	String getNextAvailableTime();
}
